<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>user: libuser Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="libuser Reference Manual">
<link rel="up" href="ch01.html" title="libuser">
<link rel="prev" href="libuser-prompt.html" title="prompt">
<link rel="next" href="libuser-fs.html" title="fs">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#libuser-user.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="libuser-prompt.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="libuser-fs.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="libuser-user"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libuser-user.top_of_page"></a>user</span></h2>
<p>user — Functions for initializing the library, looking up
information, and making changes to the system information store.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="libuser-user.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="returnvalue">lu_context</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-start" title="lu_start ()">lu_start</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-end" title="lu_end ()">lu_end</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-set-prompter" title="lu_set_prompter ()">lu_set_prompter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-get-prompter" title="lu_get_prompter ()">lu_get_prompter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-set-modules" title="lu_set_modules ()">lu_set_modules</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-get-modules" title="lu_get_modules ()">lu_get_modules</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-uses-elevated-privileges" title="lu_uses_elevated_privileges ()">lu_uses_elevated_privileges</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-lookup-name" title="lu_user_lookup_name ()">lu_user_lookup_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-lookup-id" title="lu_user_lookup_id ()">lu_user_lookup_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-default" title="lu_user_default ()">lu_user_default</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-add" title="lu_user_add ()">lu_user_add</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-modify" title="lu_user_modify ()">lu_user_modify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-delete" title="lu_user_delete ()">lu_user_delete</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-setpass" title="lu_user_setpass ()">lu_user_setpass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-removepass" title="lu_user_removepass ()">lu_user_removepass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-lock" title="lu_user_lock ()">lu_user_lock</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-unlock" title="lu_user_unlock ()">lu_user_unlock</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-unlock-nonempty" title="lu_user_unlock_nonempty ()">lu_user_unlock_nonempty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-user-islocked" title="lu_user_islocked ()">lu_user_islocked</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-users-enumerate" title="lu_users_enumerate ()">lu_users_enumerate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-users-enumerate-by-group" title="lu_users_enumerate_by_group ()">lu_users_enumerate_by_group</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-users-enumerate-full" title="lu_users_enumerate_full ()">lu_users_enumerate_full</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-users-enumerate-by-group-full" title="lu_users_enumerate_by_group_full ()">lu_users_enumerate_by_group_full</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-lookup-name" title="lu_group_lookup_name ()">lu_group_lookup_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-lookup-id" title="lu_group_lookup_id ()">lu_group_lookup_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-default" title="lu_group_default ()">lu_group_default</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-add" title="lu_group_add ()">lu_group_add</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-modify" title="lu_group_modify ()">lu_group_modify</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-delete" title="lu_group_delete ()">lu_group_delete</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-setpass" title="lu_group_setpass ()">lu_group_setpass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-removepass" title="lu_group_removepass ()">lu_group_removepass</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-lock" title="lu_group_lock ()">lu_group_lock</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-unlock" title="lu_group_unlock ()">lu_group_unlock</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-unlock-nonempty" title="lu_group_unlock_nonempty ()">lu_group_unlock_nonempty</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-group-islocked" title="lu_group_islocked ()">lu_group_islocked</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-groups-enumerate" title="lu_groups_enumerate ()">lu_groups_enumerate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-groups-enumerate-by-user" title="lu_groups_enumerate_by_user ()">lu_groups_enumerate_by_user</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-groups-enumerate-full" title="lu_groups_enumerate_full ()">lu_groups_enumerate_full</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
</td>
<td class="function_name">
<a class="link" href="libuser-user.html#lu-groups-enumerate-by-user-full" title="lu_groups_enumerate_by_user_full ()">lu_groups_enumerate_by_user_full</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="libuser-user.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="libuser-user.html#lu-entity-type" title="enum lu_entity_type">lu_entity_type</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="libuser-user.html#lu-context" title="struct lu_context">lu_context</a></td>
</tr>
<tr>
<td class="typedef_keyword">typedef</td>
<td class="function_name"><a class="link" href="libuser-user.html#lu-context-t" title="lu_context_t">lu_context_t</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="libuser-user.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libuser/user.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="libuser-user.description"></a><h2>Description</h2>
<p><code class="filename">user.h</code> contains declarations for functions which start
up and shut down the libuser library, and for functions which perform lookup
queries and modifications of the system information store.</p>
</div>
<div class="refsect1">
<a name="libuser-user.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="lu-start"></a><h3>lu_start ()</h3>
<pre class="programlisting">struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="returnvalue">lu_context</span></a> *
lu_start (<em class="parameter"><code>const <span class="type">char</span> *authname</code></em>,
          <em class="parameter"><code><span class="type">enum lu_entity_type</span> auth_type</code></em>,
          <em class="parameter"><code>const <span class="type">char</span> *modules</code></em>,
          <em class="parameter"><code>const <span class="type">char</span> *create_modules</code></em>,
          <em class="parameter"><code><span class="type">lu_prompt_fn</span> *prompter</code></em>,
          <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>,
          <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Initializes the libuser library.</p>
<div class="refsect3">
<a name="id-1.2.7.7.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>authname</p></td>
<td class="parameter_description"><p>Suggested client name to use when connecting to servers, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>auth_type</p></td>
<td class="parameter_description"><p>Whether auth_name is a user or a group</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modules</p></td>
<td class="parameter_description"><p>A list of modules to use for queries (separated by whitespace or
commas), or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to use modules specified in the config file</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>create_modules</p></td>
<td class="parameter_description"><p>A list of modules to use for entity creation (separated by
whitespace or commas), or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to use modules specified in the config file</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prompter</p></td>
<td class="parameter_description"><p>A function to use for getting information from the user</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_data</p></td>
<td class="parameter_description"><p>Data for <em class="parameter"><code>prompter</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.2.6"></a><h4>Returns</h4>
<p> a context which should be freed by <a class="link" href="libuser-user.html#lu-end" title="lu_end ()"><code class="function">lu_end()</code></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on
failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-end"></a><h3>lu_end ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
lu_end (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);</pre>
<p>Destroys a libuser library context</p>
<div class="refsect3">
<a name="id-1.2.7.7.3.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>a context</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-set-prompter"></a><h3>lu_set_prompter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
lu_set_prompter (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                 <em class="parameter"><code><span class="type">lu_prompt_fn</span> *prompter</code></em>,
                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>);</pre>
<p>Changes the prompter function in a context</p>
<div class="refsect3">
<a name="id-1.2.7.7.4.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prompter</p></td>
<td class="parameter_description"><p>A new function to user for getting information from the user</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_data</p></td>
<td class="parameter_description"><p>Data for <em class="parameter"><code>prompter</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-get-prompter"></a><h3>lu_get_prompter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
lu_get_prompter (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                 <em class="parameter"><code><span class="type">lu_prompt_fn</span> **prompter</code></em>,
                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *callback_data</code></em>);</pre>
<p>Gets current prompter function from a context.</p>
<div class="refsect3">
<a name="id-1.2.7.7.5.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prompter</p></td>
<td class="parameter_description"><p>If not <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, points to a place where the current prompter
function will be stored</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_data</p></td>
<td class="parameter_description"><p>If not <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, points to a place where the current prompter
function data will be stored</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-set-modules"></a><h3>lu_set_modules ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_set_modules (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                <em class="parameter"><code>const <span class="type">char</span> *list</code></em>,
                <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Replaces the current set of modules for queries in <em class="parameter"><code>context</code></em>
 to <em class="parameter"><code>list</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.7.7.6.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>list</p></td>
<td class="parameter_description"><p>A list of modules (separated by whitespace or commas)</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.6.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on failure</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-get-modules"></a><h3>lu_get_modules ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
lu_get_modules (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);</pre>
<p>Returns a list of modules for queries in <em class="parameter"><code>context</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.7.7.7.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.7.6"></a><h4>Returns</h4>
<p> A list of modules separated by spaces, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the list of
modules is empty.  The list should not be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-uses-elevated-privileges"></a><h3>lu_uses_elevated_privileges ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_uses_elevated_privileges (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>);</pre>
<p>Checks if any module uses elevated privileges (e.g. modifies files that
normal users can't modify).</p>
<div class="refsect3">
<a name="id-1.2.7.7.8.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.8.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if at least one module uses elevated privileges</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-lookup-name"></a><h3>lu_user_lookup_name ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_lookup_name (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                     <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                     <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                     <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Looks up an user by name.</p>
<div class="refsect3">
<a name="id-1.2.7.7.9.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>User name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity filled with received information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.9.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the user doesn't exist, returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> without
setting <em class="parameter"><code>error</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-lookup-id"></a><h3>lu_user_lookup_id ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_lookup_id (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                   <em class="parameter"><code><span class="type">uid_t</span> uid</code></em>,
                   <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                   <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Looks up an user by UID.</p>
<div class="refsect3">
<a name="id-1.2.7.7.10.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uid</p></td>
<td class="parameter_description"><p>User ID</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity filled with received information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.10.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the user doesn't exist, returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> without
setting <em class="parameter"><code>error</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-default"></a><h3>lu_user_default ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_default (<em class="parameter"><code><span class="type">struct lu_context</span> *ctx</code></em>,
                 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> system_account</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>);</pre>
<p>Fills out an user entity as specified by the config file and modules
to prepare for creation of the user.</p>
<div class="refsect3">
<a name="id-1.2.7.7.11.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>New user name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>system_account</p></td>
<td class="parameter_description"><p>Non-zero if the user is a system user</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.11.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-add"></a><h3>lu_user_add ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_add (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
             <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
             <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Creates an user in all modules specified for entity creation.</p>
<div class="refsect3">
<a name="id-1.2.7.7.12.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user, on success updated with resulting
account</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.12.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-modify"></a><h3>lu_user_modify ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_modify (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Modifies an user entity.</p>
<div class="refsect3">
<a name="id-1.2.7.7.13.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity with pending modifications, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.13.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-delete"></a><h3>lu_user_delete ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_delete (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Deletes an user.</p>
<div class="refsect3">
<a name="id-1.2.7.7.14.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.14.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-setpass"></a><h3>lu_user_setpass ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_setpass (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                 <em class="parameter"><code>const <span class="type">char</span> *newpass</code></em>,
                 <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> crypted</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Changes an user's password.</p>
<div class="refsect3">
<a name="id-1.2.7.7.15.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user, on success updated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>newpass</p></td>
<td class="parameter_description"><p>New password</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>crypted</p></td>
<td class="parameter_description"><p>Non-zero if <em class="parameter"><code>newpass</code></em>
is already encrypted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with an <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.15.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-removepass"></a><h3>lu_user_removepass ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_removepass (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                    <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                    <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Changes an user's password to an empty string.</p>
<div class="refsect3">
<a name="id-1.2.7.7.16.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user, on success updated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with an <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.16.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-lock"></a><h3>lu_user_lock ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_lock (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
              <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
              <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Locks an user account.</p>
<div class="refsect3">
<a name="id-1.2.7.7.17.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.17.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-unlock"></a><h3>lu_user_unlock ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_unlock (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Unlocks an user account.</p>
<div class="refsect3">
<a name="id-1.2.7.7.18.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.18.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-unlock-nonempty"></a><h3>lu_user_unlock_nonempty ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_unlock_nonempty (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                         <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Unlocks an user account.  If unlocking the account would result in an empty
password field, it fails with <a class="link" href="libuser-error.html#lu-error-unlock-empty"><code class="literal">lu_error_unlock_empty</code></a>.  Note that the
password can still be empty.</p>
<div class="refsect3">
<a name="id-1.2.7.7.19.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.19.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-user-islocked"></a><h3>lu_user_islocked ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_user_islocked (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                  <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                  <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Checks if an user account is locked.</p>
<div class="refsect3">
<a name="id-1.2.7.7.20.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the user</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.20.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the account is locked in at least one module</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate"></a><h3>lu_users_enumerate ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
lu_users_enumerate (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                    <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                    <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of all users matching a pattern.</p>
<div class="refsect3">
<a name="id-1.2.7.7.21.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>A glob-like pattern for user name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.21.6"></a><h4>Returns</h4>
<p> An array of strings, each representing one user name.  The array
should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate-by-group"></a><h3>lu_users_enumerate_by_group ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
lu_users_enumerate_by_group (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *group</code></em>,
                             <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of all members of a group <em class="parameter"><code>group</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.7.7.22.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>group</p></td>
<td class="parameter_description"><p>Group name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.22.6"></a><h4>Returns</h4>
<p> An array of strings, each representing one user name.  The array
should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate-full"></a><h3>lu_users_enumerate_full ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
lu_users_enumerate_full (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                         <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                         <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of entities, one for each user matching a pattern.</p>
<div class="refsect3">
<a name="id-1.2.7.7.23.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>A glob-like pattern for user name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.23.6"></a><h4>Returns</h4>
<p> A list of pointers to user entities.  The entities and the
list should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-users-enumerate-by-group-full"></a><h3>lu_users_enumerate_by_group_full ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
lu_users_enumerate_by_group_full (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *group</code></em>,
                                  <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of entities, one for each member of a group <em class="parameter"><code>group</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.7.7.24.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>group</p></td>
<td class="parameter_description"><p>Group name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.24.6"></a><h4>Returns</h4>
<p> A list of pointers to user entities.  The entities and the
list should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-lookup-name"></a><h3>lu_group_lookup_name ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_lookup_name (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                      <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                      <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                      <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Looks up a group by name.</p>
<div class="refsect3">
<a name="id-1.2.7.7.25.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>Group name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity filled with received information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.25.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the group doesn't exist, returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
without setting <em class="parameter"><code>error</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-lookup-id"></a><h3>lu_group_lookup_id ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_lookup_id (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                    <em class="parameter"><code><span class="type">gid_t</span> gid</code></em>,
                    <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                    <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Looks up a group by GID.</p>
<div class="refsect3">
<a name="id-1.2.7.7.26.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>gid</p></td>
<td class="parameter_description"><p>Group ID</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity filled with received information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.26.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.  If the group doesn't exist, returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
without setting <em class="parameter"><code>error</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-default"></a><h3>lu_group_default ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_default (<em class="parameter"><code><span class="type">struct lu_context</span> *ctx</code></em>,
                  <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                  <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> system_account</code></em>,
                  <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>);</pre>
<p>Fills out a group entity as specified by the config file and modules
to prepare for creation of the group.</p>
<div class="refsect3">
<a name="id-1.2.7.7.27.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>ctx</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>New group name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>system_account</p></td>
<td class="parameter_description"><p>Non-zero if the group is a system group</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.27.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-add"></a><h3>lu_group_add ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_add (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
              <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
              <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Creates a group in all modules specified for entity creation.</p>
<div class="refsect3">
<a name="id-1.2.7.7.28.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group, on success updated with resulting
account</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.28.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-modify"></a><h3>lu_group_modify ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_modify (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Modifies a group entity.</p>
<div class="refsect3">
<a name="id-1.2.7.7.29.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity with pending modifications, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.29.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-delete"></a><h3>lu_group_delete ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_delete (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Deletes a group.</p>
<div class="refsect3">
<a name="id-1.2.7.7.30.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.30.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-setpass"></a><h3>lu_group_setpass ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_setpass (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                  <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                  <em class="parameter"><code>const <span class="type">char</span> *newpass</code></em>,
                  <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> crypted</code></em>,
                  <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Changes a group password.</p>
<div class="refsect3">
<a name="id-1.2.7.7.31.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group, on success updated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>newpass</p></td>
<td class="parameter_description"><p>New password</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>crypted</p></td>
<td class="parameter_description"><p>Non-zero if <em class="parameter"><code>newpass</code></em>
is already encrypted</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with an <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.31.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-removepass"></a><h3>lu_group_removepass ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_removepass (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                     <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                     <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Changes a group password to an empty string.</p>
<div class="refsect3">
<a name="id-1.2.7.7.32.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group, on success udpated with current
information and <a class="link" href="libuser-entity.html#LU-SHADOWLASTCHANGE:CAPS" title="LU_SHADOWLASTCHANGE"><code class="literal">LU_SHADOWLASTCHANGE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with in <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.32.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-lock"></a><h3>lu_group_lock ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_lock (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
               <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
               <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Locks a group account</p>
<div class="refsect3">
<a name="id-1.2.7.7.33.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.33.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-unlock"></a><h3>lu_group_unlock ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_unlock (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                 <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Unlocks a group account.</p>
<div class="refsect3">
<a name="id-1.2.7.7.34.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.34.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-unlock-nonempty"></a><h3>lu_group_unlock_nonempty ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_unlock_nonempty (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                          <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                          <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Unlocks a group account.  If unlocking the account would result in an empty
password field, it fails with <a class="link" href="libuser-error.html#lu-error-unlock-empty"><code class="literal">lu_error_unlock_empty</code></a>.  Note that the
password can still be empty.</p>
<div class="refsect3">
<a name="id-1.2.7.7.35.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group, on success updated with current
information</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.35.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-group-islocked"></a><h3>lu_group_islocked ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
lu_group_islocked (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                   <em class="parameter"><code><span class="type">struct lu_ent</span> *ent</code></em>,
                   <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Checks if a group account is locked.</p>
<div class="refsect3">
<a name="id-1.2.7.7.36.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>ent</p></td>
<td class="parameter_description"><p>An entity describing the group</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.36.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the account is locked in at least one module</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate"></a><h3>lu_groups_enumerate ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
lu_groups_enumerate (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                     <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                     <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of all groups matching a pattern.</p>
<div class="refsect3">
<a name="id-1.2.7.7.37.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>A glob-like pattern for group name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.37.6"></a><h4>Returns</h4>
<p> An array of strings, each representing one group name.  The array
should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate-by-user"></a><h3>lu_groups_enumerate_by_user ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/gobject/unstable/gobject-Value-arrays.html#GValueArray"><span class="returnvalue">GValueArray</span></a> *
lu_groups_enumerate_by_user (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *user</code></em>,
                             <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of all groups containing an user <em class="parameter"><code>user</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.7.7.38.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user</p></td>
<td class="parameter_description"><p>User name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.38.6"></a><h4>Returns</h4>
<p> An array of strings, each representing one group name.  The array
should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate-full"></a><h3>lu_groups_enumerate_full ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
lu_groups_enumerate_full (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *pattern</code></em>,
                          <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of entities, one for each group matching a pattern.</p>
<div class="refsect3">
<a name="id-1.2.7.7.39.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>A glob-like pattern for group name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.39.6"></a><h4>Returns</h4>
<p> a list of pointers to group entities.  The entities and the
list should be freed by the caller.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-groups-enumerate-by-user-full"></a><h3>lu_groups_enumerate_by_user_full ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
lu_groups_enumerate_by_user_full (<em class="parameter"><code><span class="type">struct lu_context</span> *context</code></em>,
                                  <em class="parameter"><code>const <span class="type">char</span> *user</code></em>,
                                  <em class="parameter"><code><span class="type">struct lu_error</span> **error</code></em>);</pre>
<p>Returns a list of entities, one for each group containing an user <em class="parameter"><code>user</code></em>
.</p>
<div class="refsect3">
<a name="id-1.2.7.7.40.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p>A context</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user</p></td>
<td class="parameter_description"><p>User name</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>Filled with a <a class="link" href="libuser-error.html#lu-error" title="struct lu_error"><span class="type">lu_error</span></a> if an error occurs</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.7.7.40.6"></a><h4>Returns</h4>
<p> a list of pointers to group entities.  The entities and the
list should be freed by the caller.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="libuser-user.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="lu-entity-type"></a><h3>enum lu_entity_type</h3>
<p>Defines whether we are talking about an user or a group in cases where it is
ambiguous.</p>
<div class="refsect3">
<a name="id-1.2.7.8.2.4"></a><h4>Members</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="lu-user"></a>lu_user</p></td>
<td class="enum_member_description">
<p>An user.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="lu-group"></a>lu_group</p></td>
<td class="enum_member_description">
<p>A group of users.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="lu-context"></a><h3>struct lu_context</h3>
<pre class="programlisting">struct lu_context;</pre>
<p>An opaque structure manipulated by the library, containing caller-related
state (to allow several independent callers in a single process).</p>
</div>
<hr>
<div class="refsect2">
<a name="lu-context-t"></a><h3>lu_context_t</h3>
<pre class="programlisting">typedef struct lu_context lu_context_t;
</pre>
<div class="warning">
<p><code class="literal">lu_context_t</code> has been deprecated since version 0.57.3 and should not be used in newly-written code.</p>
<p>Use struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="type">lu_context</span></a> directly.</p>
</div>
<p>An alias for struct <a class="link" href="libuser-user.html#lu-context" title="struct lu_context"><span class="type">lu_context</span></a>.</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>